package br.com.jaxb;

import java.io.FileWriter;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;

public class GeraXml {
	
	public static void main(String args[]) throws ClassNotFoundException,
			SQLException, JAXBException, IOException {

		List<Carteira> ac = new ArrayList<Carteira>();
		XmlCarteira xmlc = new XmlCarteira();
		Carteira c = new Carteira();
		Pessoa p = new Pessoa();
		p.setCnpj("123");
		c.setNome("Neto");
		c.setDescricao("Jardineiro");
		c.setPessoa(p);
		ac.add(c);

		Pessoa p1 = new Pessoa();
		p1.setCnpj("45678");
		Carteira c1 = new Carteira();
		c1.setNome("Luiz");
		c1.setDescricao("Analista de Sistemas");
		c1.setPessoa(p1);

		ac.add(c1);

		xmlc.setCarteira(ac);

		JAXBContext context;

		context = JAXBContext.newInstance(new Class[] { XmlCarteira.class });
		Marshaller marshaller = context.createMarshaller();
		marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
		marshaller.marshal(xmlc, new FileWriter("carteira.xml"));

		System.out.println("Arquivo carteira.xml gerado");

		/*
		 * JAXBContext context = JAXBContext .newInstance(new Class[] {
		 * XmlCarteira.class }); Unmarshaller jaxbUnmarshaller =
		 * context.createUnmarshaller(); XmlCarteira xmlc = (XmlCarteira)
		 * jaxbUnmarshaller.unmarshal(new File( "c:\\carteira.xml"));
		 * 
		 * System.out.println(xmlc.getCarteira());
		 */

		System.exit(0);
	}
}
